#include<bits/stdc++.h>

struct Information
{
	char name[100];
	char gender[100];//性别
	char  birth[100];//出生日期
	char startwork[100];//参加工作日期
	char section[100];//所属部门
	char personnelcategory[100];//人员类别
	char grade[100];//技术等级
	char titles[100];//技术职称
	char culturestandard[100];//文化程度
	char nation[100];//民族
	char nativeplace[100];//籍贯
	char address[100];//现住地址
};

struct Money
{
	int base;//基本工资
	int job;//岗位津贴
	int price;//物价补贴
	int job1;//职务补贴
	int live;//住房补贴
	int chummage;//房租
	int sick;//病假扣款
	int thing;//事假扣款
	int free;//旷工扣款
	int other;//其他扣款
};

struct Day
{
	int work;//出勤天数
	int injury;//工伤天数
	int birth1;//产假天数
	int ill;//病假天数
	int free1;//旷工天数
	int thing1;//事假天数
	int addwork;//加班天数
	int night;//夜班天数
};

struct Node
{
	void* data;
	Node* next;
	
};

Node *addAll(Node *phead,int n,void *newNode());
void *newNode_I();

int main()
{
	Node *phead_I = (Node*)malloc(sizeof(Node));
	phead_I->next = NULL;
	int n;
	printf("输入教职工个数：");
	scanf("%d",&n);
	phead_I = addAll(phead_I,n,newNode_I);
	return 0;
}

Node *addAll(Node *phead,int n,void *newNode())
{
	Node *pnew = (Node*)malloc(sizeof(Node));
	pnew->data = newNode();
	pnew->next = NULL;
	pnew->next = phead->next;
	phead->next = pnew;
	return phead;
}

void *newNode_I()
{
	
	Information* I= (Information*)malloc(sizeof(Information));
	fflush(stdin);
	printf("姓名：");
	gets(I->name);
	printf("性别：");
	gets(I->gender);
	printf("出生日期：");
	gets(I->birth);
	printf("参加工作日期:");
	gets(I->startwork);
	printf("所属部门:");
	gets(I->section);
	printf("人员类别:");
	gets(I->personnelcategory);
	printf("技术等级:");
	gets(I->grade);
	printf("技术职称:");
	gets(I->titles);
	printf("文化程度:");
	gets(I->culturestandard);
	printf("民族:");
	gets(I->nation);
	printf("籍贯:");
	gets(I->nativeplace);
	printf("现住地址:");
	gets(I->address);
	return (void*)I;
}

